package com.ffs.game.utils;

import com.ffs.game.common.entity.Vector2f;

import java.util.concurrent.ThreadLocalRandom;

/**
 * 随机工具
 *
 * @author ffs80
 */
public class RandomUtil {

    /**
     * 范围内随机一个数
     */
    public static int randomInt(int min, int max) {
        if (min > max) {
            return min;
        }
        return ThreadLocalRandom.current().nextInt(max - min + 1) + min;
    }

    /**
     * 计算下一坐标点
     *
     * @param w   角度
     * @param dis 移动距离
     * @return 本次计算移动到的点位
     */
    public static Vector2f calcNextPoint(Vector2f vector2f, float w, float dis) {
        float x = (float) (Math.sin(w * Math.PI / 180) * dis + vector2f.getX());
        float y = (float) (Math.cos(w * Math.PI / 180) * dis + vector2f.getY());
        return new Vector2f(x, y);
    }
}
